package com.sc.userspringboot.pojo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 用户消息通知表
 * </p>
 *
 * @author user
 * @since 2025-09-19 06:25:46
 */
@Getter
@Setter
@TableName("notifications")
public class Notifications {

    /**
     * 通知唯一标识ID
     */
    @TableId(value = "notify_id", type = IdType.AUTO)
    private Integer notifyId;

    /**
     * 接收通知的用户ID
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 通知类型（1-评论提醒，2-点赞提醒，3-关注提醒）
     */
    @TableField("notify_type")
    private Byte notifyType;

    /**
     * 关联对象ID（如评论ID、帖子ID、关注者ID）
     */
    @TableField("related_id")
    private Integer relatedId;

    /**
     * 通知内容（如“用户XXX评论了你的帖子”）
     */
    @TableField("content")
    private String content;

    /**
     * 阅读状态（0-未读，1-已读）
     */
    @TableField("is_read")
    private Byte isRead;

    /**
     * 通知生成时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 通知过期时间（30天后自动失效，NULL表示永久有效）
     */
    @TableField("expire_time")
    private Date expireTime;
}
